package site.hanzhe.did.utils;

import cn.hutool.core.lang.Console;
import cn.hutool.core.util.StrUtil;

import java.util.Scanner;

/**
 * 文字输入工具类
 *
 * @author 张涵哲
 * @since 2024-06-12 21:38:49
 */
public class InputUtil {

    private static final Scanner scanner = new Scanner(System.in);

    /**
     * 获取输入的字符串
     *
     * @author 张涵哲
     * @since 2024-06-12 21:40:16
     * @return 输入的字符串
     */
    public static String string() {
        String input = scanner.nextLine();
        while (StrUtil.isBlank(input)) {
            System.out.print("内容为空，请重新输入：");
            input = scanner.nextLine();
        }
        return input;
    }

    /**
     * 获取输入的字符串
     *
     * @author 张涵哲
     * @since 2024-06-12 21:40:16
     * @param tips 提示
     * @return 输入的字符串
     */
    public static String string(String tips) {
        System.out.print(tips);
        return string();
    }

    /**
     * 获取输入的字符串，要求字符串必须是vals中的某一项
     *
     * @author 张涵哲
     * @since 2024-06-13 09:56:18
     * @param tips 提示
     */
    public static void exit(String tips) {
        String input = string(tips);
        while (true) {
            if ("y".equals(input)) {
                break;
            } else if ("n".equals(input)) {
                Console.log("用户取消下载");
                System.exit(0);
            }
            input = string("内容有误，请重新输入：");
        }
    }

}
